package com.example.smartpark.controller;

import com.example.smartpark.common.Result;
import com.example.smartpark.dto.SystemConfigDTO;
import com.example.smartpark.service.SystemConfigService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;

/**
 * 系统配置控制器
 */
@Slf4j
@RestController
@RequestMapping("/api/admin/system-config")
public class SystemConfigController {

    @Autowired
    private SystemConfigService systemConfigService;

    /**
     * 获取系统配置
     *
     * @return 系统配置
     */
    @GetMapping
    public Result<SystemConfigDTO> getSystemConfig() {
        log.info("获取系统配置");
        SystemConfigDTO systemConfigDTO = systemConfigService.getSystemConfig();
        return Result.success(systemConfigDTO);
    }

    /**
     * 更新系统配置
     *
     * @param systemConfigDTO 系统配置信息
     * @return 更新后的系统配置
     */
    @PutMapping
    public Result<SystemConfigDTO> updateSystemConfig(@RequestBody @Valid SystemConfigDTO systemConfigDTO) {
        log.info("更新系统配置: {}", systemConfigDTO);
        SystemConfigDTO updatedConfig = systemConfigService.updateSystemConfig(systemConfigDTO);
        return Result.success(updatedConfig);
    }
} 